<?php
require_once('proyecto/dao_proyecto.php');
require_once('excepcion.php');
class ci_actividad extends bapim_ci
{
	//-----------------------------------------------------------------------------------
	//---- Configuracion-----------------------------------------------------------------
	//-----------------------------------------------------------------------------------
	/*function get_cn()
	{
		return $this->controlador->cn();
	}*/
	
	//-----------------------------------------------------------------------------------
	//---- Eventos ----------------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function evt__agregar()
	{
		$this->set_pantalla('pant_edicion');
	}
	
	//-----------------------------------------------------------------------------------
	//---- cuadro_actividad -------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__cuadro_actividad(bapim_ei_cuadro $cuadro)
	{
		if (isset($this->s__datos_filtro)) {
				$datos = dao_proyecto::get_listado_actividad($this->s__where);
			} else {
				$datos = dao_proyecto::get_listado_actividad();
			}
		$cuadro->set_datos($datos);
	}

	function evt__cuadro_actividad__seleccion($seleccion)
	{
		//$this->cn()->cargar_actividad($seleccion);
		$id_memoria = $this->cn()->traer_id_memoria_actividad($seleccion);
		$this->cn()->set_cursor_actividad($id_memoria[0]);
		$this->set_pantalla('pant_edicion');
	}

	function evt__cuadro_actividad__borrar($seleccion)
	{
		$this->cn()->cargar_actividad($seleccion);
		$id_memoria = $this->cn()->traer_id_memoria_actividad($seleccion);
		$this->cn()->eliminar_actividad($id_memoria[0]);
		try{
			$this->cn()->guardar();
		}catch (toba_error_db $error) {
			$codigo = $error->get_sqlstate();
			excepcion::get_mensaje_error($codigo, ' Actividad ', ' La ');
			$this->cn()->resetear();
		}
	}

	//-----------------------------------------------------------------------------------
	//---- frm_actividad ----------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__frm_actividad(bapim_ei_formulario $form)
	{
		if ($this->cn()->hay_cursor_actividad()) {
			$datos = $this->cn()->get_actividad();
			$form->set_datos($datos); 
		}
		
	}

	function evt__frm_actividad__alta($datos)
	{
		$this->cn()->set_actividad($datos);
				
		try{
			$this->cn()->guardar();	
		}catch (toba_error_db $error) {
				$codigo = $error->get_sqlstate();
				excepcion::get_mensaje_error($codigo, ' Actividad ', ' La ');
				$this->cn()->resetear();
		}
		$this->set_pantalla('pant_inicial');
	}

	function evt__frm_actividad__modificacion($datos)
	{
		if ($this->cn()->hay_cursor_actividad()) {
			$this->cn()->set_actividad($datos);
			try{
				$this->cn()->guardar();	
			}catch (toba_error_db $error) {
				$sql_state = $error->get_sqlstate();
				$codigo = $error->get_sqlstate();
				excepcion::get_mensaje_error($codigo, ' Actividad ', ' La ');
				$this->cn()->resetear();
			}
			$this->set_pantalla('pant_inicial');
		}
	}

	function evt__frm_actividad__cancelar()
	{
		$this->cn()->resetear();
		$this->set_pantalla('pant_inicial');
	}

	//-----------------------------------------------------------------------------------
	//---- filtro_actividad -------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__filtro_actividad(bapim_ei_filtro $filtro)
	{
		if (isset($this->s__datos_filtro)) {
			$filtro->set_datos($this->s__datos_filtro);
			$this->s__where = $filtro->get_sql_where();
		}
	}

	function evt__filtro_actividad__filtrar($datos)
	{
		$this->s__datos_filtro = $datos;
	}

	function evt__filtro_actividad__cancelar()
	{
		unset($this->s__datos_filtro);
	}

	

}
?>
